package com.love.marriage.defaultAmountConfigRecord.vo;

import com.love.marriage.common.vo.BaseVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * description:  默认金额配置操作记录表Vo
 * author:       system
 * createDate:   2024-12-07
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(name = "DefaultAmountConfigRecordVo", description = "默认金额配置操作记录表Vo")
public class DefaultAmountConfigRecordVo extends BaseVo<DefaultAmountConfigRecordVo> {

    @Schema(description = "配置ID，关联到default_amount_config_t表", type = "Long", implementation = Long.class)
    private Long configId;

    @Schema(description = "操作类型：INSERT=新增, UPDATE=修改, DELETE=删除", type = "String", implementation = String.class)
    private String operationType;

    @Schema(description = "操作前配置名称", type = "String", implementation = String.class)
    private String oldConfigName;

    @Schema(description = "操作后配置名称", type = "String", implementation = String.class)
    private String newConfigName;

    @Schema(description = "操作前类型编码", type = "String", implementation = String.class)
    private String oldConfigCode;

    @Schema(description = "操作后类型编码", type = "String", implementation = String.class)
    private String newConfigCode;

    @Schema(description = "操作前金额", type = "BigDecimal", implementation = BigDecimal.class)
    private BigDecimal oldAmount;

    @Schema(description = "操作后金额", type = "BigDecimal", implementation = BigDecimal.class)
    private BigDecimal newAmount;

    @Schema(description = "操作前描述", type = "String", implementation = String.class)
    private String oldDescription;

    @Schema(description = "操作后描述", type = "String", implementation = String.class)
    private String newDescription;

    @Schema(description = "操作原因或备注", type = "String", implementation = String.class)
    private String operationReason;

    @Schema(description = "配置名称", type = "String", implementation = String.class)
    private String configName;

    @Schema(description = "类型编码", type = "String", implementation = String.class)
    private String configCode;
}